From e83cf0f7c03d241374e201c9a2c7a0a614ec8aa7 Mon Sep 17 00:00:00 2001 From: "kaf24@scramble.cl.cam.ac.uk" Date: Fri, 23 Jan 2004 19:40:15 +0000 Subject: [PATCH] bitkeeper revision 1.688 (4011789fups9-ci9C6L2ART_UCuhpA) xl_vbd.c: Fix VBD setup in XL. --- xenolinux-2.4.24-sparse/arch/xeno/drivers/block/xl_vbd.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/xenolinux-2.4.24-sparse/arch/xeno/drivers/block/xl_vbd.c b/xenolinux-2.4.24-sparse/arch/xeno/drivers/block/xl_vbd.c index 5333351458..a927df86bc 100644 --- a/xenolinux-2.4.24-sparse/arch/xeno/drivers/block/xl_vbd.c +++ b/xenolinux-2.4.24-sparse/arch/xeno/drivers/block/xl_vbd.c @@ -456,10 +456,11 @@ void xlvbd_update_vbds(void) } else { - if ( xlvbd_init_device(&new_info[j]) == 0 ) - memcpy(&merged_info[k++], &new_info[j], sizeof(xen_disk_t)); - else + if ( (memcmp(&old_info[i], &new_info[j], sizeof(xen_disk_t)) == 0) || + (xlvbd_remove_device(old_info[i].device) == 0) ) memcpy(&merged_info[k++], &old_info[i], sizeof(xen_disk_t)); + else if ( xlvbd_init_device(&new_info[j]) == 0 ) + memcpy(&merged_info[k++], &new_info[j], sizeof(xen_disk_t)); i++; j++; } } -- 2.30.2